#include <iostream>
#include "mprpcapplication.h"
#include "user.pb.h"
#include "mprpcchannel.h"

int main(int argc, char **argv)
{
    //  启动程序后 先对RPC框架进行初始化 
    MprpcApplication::Init(argc, argv);

    // 调用远程rpc的Login方法 
    fixbug::UserServiceRpc_Stub stub(new MprpcChannel());
    // rpc请求参数 
    fixbug::LoginRequest request;
    request.set_name("zhang san");
    request.set_pwd("123456");
    // rpc请求响应
    fixbug::LoginResponse response;

    // RpcChannel->RpcChannel::callMethod 集中来做rpc方法调用的参数序列化和网络发送
     stub.Login(nullptr,  &request, &response, nullptr); 
    
    // 一次rpc调用成功 查看调用结果 
    if (response.result().errcode() == 0) 
    {
        std::cout << "rpc login response" << response.success() << std::endl;
    }
    else 
    {
        std::cout << "rpc login response error" << response.result().errmsg() << std::endl;
    }

    return 0;
}